#include <array>
#include <iostream>

void useAuto() {
  auto a{10};   // 推断为 int
  auto b{1.0f}; // 推断为 float
  auto c{1.0};  // 推断为 double
  // 数组就不要用 auto 了, 不支持
  // auto d[]{1, 2, 3};
  // 可以用 std::array<int, 3> 来代替
  // auto d{std::array<int, 3>{1, 2, 3}}; // 推断为 std::array<int, 3>
  auto d{std::array{1, 2, 3}}; // 甚至可以忽略模板参数
  auto e{"hello"};             // 推断为 const char*

  int year{2024};
  auto ptYear{&year};
  auto *ptYear2{&year};
  auto &refYear{year};
  const auto &crefYear{year};
}
int main(int argc, char *argv[]) {
  std::cout << "==== ch03 p04 ====" << std::endl;
  return 0;
}
